It is known for client application software to be executed on one or more processors of a computing device to enable the application to provide functionality to a user of the computing device.
A client application provides content to an operating system executed on the one or more processors of the computing device. The operating system is responsible for rendering this content in a user interface provided by the client application that is displayed on a display of the computing device. The content displayed in the user interface is controlled by the user of the computing device using an input device of the computing device. The operating system is responsible for communicating detected input selections to the client application such that the client application can deliver appropriate content to the display via the operating system based on the input selections.
The navigation history of a client application is represented as a last-in, first-out structure commonly called a stack, backstack, or navigation backstack, as it contains layers of content (e.g. levels) in a stack structure that represents the back navigation of the client application. This stack is stored in memory of the computing device.
As a user navigates through layers of content in the client application, these layers of content are added to this stack. The last layer of content that is added to the stack (based on a user making a selection in the user interface provided by the client application) is the first layer of content that can be removed. A layer of content can be retrieved from the stack only by removing layers one at a time from the top of the stack (for example by the user iteratively pressing a ‘back’ button). The single layer of content at the top of the stack is displayed on the display of the computing device.
A wide variety of genres of client applications exist including social media, gaming, news & weather, e-commerce etc.